package DFA;

public interface DFAInterface {
	public int generateReadingKey();
	
	public String readNext (int readingKey, String input) throws DFAException;
	
	/**
	 * 
	 * @param readingKey
	 * @param input	
	 * @return 	valid token if the current state is an accepting state
	 * 			null if the current state is a terminating state
	 * 			empty string otherwise 
	 */
	public String read (int readingKey, String input);
	
	public void resetReading(int readingKey);
}
